package com.basker.pisces.domain;

import com.basker.pisces.domain.command.meta.Command;
import com.basker.pisces.domain.entity.meta.Entity;
import com.basker.pisces.domain.property.meta.Property;
import com.basker.pisces.domain.validation.meta.Validation;

/**
 * 实现该接口的元素，会在实体的构建过程中调用build方法,可以在该方法内组装一些数据、也可以进行一些配置环节的验证。
 * <p>
 * 支持的元素有：{@link Property},{@link Command},{@link Validation}}
 *
 * @author hangwen
 * @see Entity#build()
 */
public interface ISupportEntityBuild {
    void build(Entity entity);
}
